package com.gax.config;

import com.gax.interceptors.LoginProtectedInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author GAX
 * @date 2025-06-19
 */
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {

    @Autowired
    // 因为 LoginProtectedInterceptor 使用 @Component 加入了 IOC，所以可以直接 @Autowired 进行 DI
    private LoginProtectedInterceptor loginProtectedInterceptor;

    // 重写接口中的默认方法，注意：默认方法就是可以选择重写，也可以选择不重写，这跟抽象方法的概念不同
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginProtectedInterceptor).addPathPatterns("/headline/**");
    }
}
